﻿Public Class ObjektUnitSelectMenu
    Inherits ObjektFormMenue

    Dim EinheitenCheckBox As ObjektEinheitenCheckbox
    Dim LetzterModus As Integer = 0
    Dim S As ObjektSpieler
    Public Sub New()
        MyBase.New()
        If DataSettings.Verhaeltnis = Hauptmenue.Breitbild Then
            Objektverwalter.LoadHintergrund(DataSettings.Resourcenpfad + "Backgrounds\SAHintergrundGross.png")
        Else
            Objektverwalter.LoadHintergrund(DataSettings.Resourcenpfad + "Backgrounds\SAHintergrund.png")
        End If
        S = New ObjektSpieler(1, Hauptmenue.AlleFarbtabellen(0), 0, Nothing, 0, Armeen.OS.ToString, "", New Bauliste(DataSettings.EinheitenListe1.Split("|")), ObjektSpieler.KIStufen.Einfach, 0)

        'So Panel erstellen und dann die Checkboxen
        Dim P As New ObjektPanelEinheitenMenue(New Rectangle(0, 0, Hauptmenue.Rechteck.Width, Hauptmenue.Rechteck.Height - 150), New PointF(1, 1), 1, False)
        MyBase.NeuPanel(P)
        EinheitenCheckBox = New ObjektEinheitenCheckbox(S, New PointF, P, Math.DivRem(DataSettings.BildschirmBreite - 20, CInt(Hauptmenue.Feldbreite * 5 / 2), 0), New Point(10, 10))
        P.SetEinheitenMenue(EinheitenCheckBox)

        ChangeUnitMode(0)
        NeuButton(DataSettings.BildschirmBreite / 2 - 54, DataSettings.BildschirmHoehe - 100, DataSettings.Resourcenpfad + "Objects\Button.png", "Optionen", New PointF(0.5#, 1))
        NeuButton(DataSettings.BildschirmBreite / 2 - 54, DataSettings.BildschirmHoehe - 130, DataSettings.Resourcenpfad + "Objects\Button.png", "Speichern", New PointF(0.5#, 1))

        NeuLabel(10, DataSettings.BildschirmHoehe - 100, New String() {Sprachconverter.Translate("Liste") + " :"}, New PointF(0, 1))
        NeuDropDownMenue(150, DataSettings.BildschirmHoehe - 100, New String() {"Eigene 1", "Eigene 2", "Eigene 3"}, New PointF(0, 1))
        DropDownMenues(0).SetItem(0)
    End Sub
    Public Sub ChangeUnitMode(ByVal Spielmodus As Integer)
        Dim L() As String
        Select Case Spielmodus
            Case 0
                L = DataSettings.EinheitenListe1.Split("|")
            Case 1
                L = DataSettings.EinheitenListe2.Split("|")
            Case 2
                L = DataSettings.EinheitenListe3.Split("|")
            Case Else
                L = DataSettings.EinheitenListe1.Split("|")
        End Select
        For I = 0 To Objektverwalter.AlleEinheiten.Length - 1
            If L.Contains(Objektverwalter.AlleEinheiten(I).EinheitenID) Then
                EinheitenCheckBox.Checked(I) = True
            Else
                EinheitenCheckBox.Checked(I) = False
            End If
        Next
    End Sub
    Public Overrides Sub Frame()
        If DropDownMenues(0).GetItemNumber <> LetzterModus Then
            LetzterModus = DropDownMenues(0).GetItemNumber
            ChangeUnitMode(LetzterModus)
        End If
    End Sub

    Public Overrides Sub IniMenue()

    End Sub

    Public Overrides Sub KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
        Select Case e.KeyCode
            Case Keys.Escape
                Hauptmenue.Ini(Hauptmenue.Formmodi.Optionen)
        End Select
    End Sub

    Public Overrides Sub Malen()
        EinheitenCheckBox.Malen()
        MyBase.ObjekteMalen()
    End Sub

    Public Overrides Sub MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        Select Case e.Button
            Case Windows.Forms.MouseButtons.Left
                checkMouseDownObjekte(ObjektMaus.XKoordinate, ObjektMaus.YKoordinate)
                EinheitenCheckBox.CheckKlick(e.X, e.Y)
        End Select

    End Sub

    Public Overrides Sub MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        MouseMoveObjekte(e.X, e.Y)
    End Sub

    Public Overrides Sub MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        Select Case e.Button
            Case Windows.Forms.MouseButtons.Left
                ButtonGeklicktLinks(checkMouseUPObjekte(ObjektMaus.XKoordinate, ObjektMaus.YKoordinate))
        End Select
    End Sub
    Public Sub ButtonGeklicktLinks(ByVal Effekt As String)
        If Effekt = Nothing Then
            Exit Sub
        End If
        Select Case Effekt.ToLower
            Case "optionen"
                Hauptmenue.Ini(Hauptmenue.Formmodi.Optionen)
            Case "speichern"
                SaveUnitList()
        End Select
    End Sub
    Private Sub SaveUnitList()
        Dim NewUnitList As String = ""
        For I = 0 To EinheitenCheckBox.Checked.Length - 1
            If EinheitenCheckBox.Checked(I) Then
                NewUnitList += Objektverwalter.AlleEinheiten(I).EinheitenID + "|"
            End If
        Next
        Select Case LetzterModus
            Case 0
                DataSettings.EinheitenListe1 = NewUnitList
            Case 1
                DataSettings.EinheitenListe2 = NewUnitList
            Case 2
                DataSettings.EinheitenListe3 = NewUnitList
        End Select
        DataSettings.MySettingsIniSave()
    End Sub
    Public Overrides Sub MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)

    End Sub

    Public Overrides Sub SetMausBild()

    End Sub

    Public Overrides Sub SprachEingabe(ByVal Eingabe As String)
        ButtonGeklicktLinks(Eingabe.ToLower)
    End Sub
    Public Overrides Sub Reset()
        EinheitenCheckBox.Dispose()
        MyBase.Reset()
    End Sub

    Public Overrides Sub ChangeWindowSize(ByVal PosChange As System.Drawing.Point)
        MyBase.ChangeWindowSizeObjekte(PosChange)
        EinheitenCheckBox.ChangeWindowSize(PosChange)
    End Sub

    Public Overrides Sub KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)

    End Sub
End Class
